#include "widget.h"
#include "ui_widget.h"
#include <QResizeEvent>
#include <QDebug>

Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);

    // 向label设置图片
    ui->label->setPixmap(QPixmap(":/pink.png"));
    // 获取窗口geometry属性
    QRect windowRect = this->geometry();
    // 设置label图片占满窗口
    ui->label->setGeometry(0, 0, windowRect.width(), windowRect.height());
    ui->label->setScaledContents(true); // 图片拉伸填充QLabel
}

Widget::~Widget()
{
    delete ui;
}

// 移动窗口后自动调用resizeEvent,Qt中的事件机制
// 原理: 重写父类的虚函数,实际执行时调用子类的函数(C++的多态特性)
void Widget::resizeEvent(QResizeEvent *event)
{
    qDebug() << event->size();
    // 实时设置位置
    ui->label->setGeometry(0, 0, event->size().width(), event->size().height());
}

